package com.ruoyi.service;

import com.github.pagehelper.PageInfo;
import com.hundun.vision.api.dto.FeatureDTO;
import com.hundun.vision.api.dto.FeatureTemplateDTO;
import com.hundun.vision.api.query.FeatureQuery;
import com.hundun.vision.api.request.FeatureRequest;

import java.util.List;

/**
 * @author ：RuoChen
 * @date ：16:24 2021/6/14
 * @description：特征服务类
 */
public interface FeatureService {
    /**
     * 新增
     *
     * @param request
     * @return
     */
    Boolean save(FeatureRequest request);

    /**
     * 删除
     *
     * @param featureIds
     * @return
     */
    Integer removeByIds(List<Long> featureIds);

    /**
     * 修改
     *
     * @param request
     * @return
     */
    Boolean update(FeatureRequest request);

    /**
     * 查询特征模板列表
     *
     * @return
     */
    List<FeatureTemplateDTO> getFeatureTemplates();

    /**
     * 查询
     *
     * @param featureId
     * @return
     */
    FeatureDTO getById(Long featureId);

    /**
     * 根据用户ID获取
     *
     * @param userId
     * @return
     */
    List<FeatureDTO> getByUserId(Long userId);

    /**
     * 查询
     *
     * @param query
     * @return
     */
    PageInfo<FeatureDTO> search(FeatureQuery query);
}
